<!DOCTYPE html>

<html lang="en" data-content_root="../">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

  <title>FindCurses &mdash; CMake 4.1.1 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a2c47e09" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css?v=4d06bd55" />
    
    <script src="../_static/documentation_options.js?v=e6a937a4"></script>
    <script src="../_static/doctools.js?v=9bcbadda"></script>
    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    
    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="FindCVS" href="FindCVS.html" />
    <link rel="prev" title="FindCURL" href="FindCURL.html" />
 

  </head><body>
    <input id="sidebar-check" type="checkbox" />
    <label id="sidebar-overlay" for="sidebar-check"></label>



    <div class="related relbar1" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="FindCVS.html" title="FindCVS"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="FindCURL.html" title="FindCURL"
             accesskey="P">previous</a> |</li>
  <li>
    <label class="sidebar-toggle" for="sidebar-check"></label>
  </li>
  <li class="rootlink">
    <img src="../_static/cmake-logo-16.png" width="16" height="16" alt=""/>
    <a href="https://cmake.org/">CMake 4.1.1</a>
    <span class="reldelim1"> &#187;</span>
  </li>
  <li>
    <a href="../index.html">Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" accesskey="U">cmake-modules(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">FindCurses</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="findcurses">
<span id="module:FindCurses"></span><h1>FindCurses<a class="headerlink" href="#findcurses" title="Link to this heading">¶</a></h1>
<p>Finds the curses or ncurses library.</p>
<p>Curses is a terminal control library for Unix-like systems, used to build text
user interface (TUI) applications.  Originally developed in 1978, it has since
evolved into multiple implementations, most notably ncurses (new curses), BSD
curses, and PDCurses (a public domain curses library for non-Unix platforms).</p>
<section id="result-variables">
<h2>Result Variables<a class="headerlink" href="#result-variables" title="Link to this heading">¶</a></h2>
<p>This module defines the following variables:</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">Curses_FOUND</span></code></dt><dd><p>Boolean indicating whether the Curses is found.  For backward compatibility,
the <code class="docutils literal notranslate"><span class="pre">CURSES_FOUND</span></code> variable is also set to the same value.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_INCLUDE_DIRS</span></code></dt><dd><div class="versionadded">
<p><span class="versionmodified added">Added in version 3.1.</span></p>
</div>
<p>The include directories needed to use Curses.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_LIBRARIES</span></code></dt><dd><p>The libraries needed to use Curses.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_CFLAGS</span></code></dt><dd><div class="versionadded">
<p><span class="versionmodified added">Added in version 3.16.</span></p>
</div>
<p>Compiler flags which ought be given to C/C++ compilers when using Curses.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_HAVE_CURSES_H</span></code></dt><dd><p>Boolean indicating whether <code class="docutils literal notranslate"><span class="pre">curses.h</span></code> is available.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_HAVE_NCURSES_H</span></code></dt><dd><p>Boolean indicating whether <code class="docutils literal notranslate"><span class="pre">ncurses.h</span></code> is available.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_HAVE_NCURSES_NCURSES_H</span></code></dt><dd><p>Boolean indicating whether <code class="docutils literal notranslate"><span class="pre">ncurses/ncurses.h</span></code> is available.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_HAVE_NCURSES_CURSES_H</span></code></dt><dd><p>Boolean indicating whether <code class="docutils literal notranslate"><span class="pre">ncurses/curses.h</span></code> is available.</p>
</dd>
</dl>
</section>
<section id="hints">
<h2>Hints<a class="headerlink" href="#hints" title="Link to this heading">¶</a></h2>
<p>This module accepts the following variables:</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_NEED_NCURSES</span></code></dt><dd><p>Set this variable to <code class="docutils literal notranslate"><span class="pre">TRUE</span></code> before calling <code class="docutils literal notranslate"><span class="pre">find_package(Curses)</span></code> if the
the ncurses implementation functionality is specifically required.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_NEED_WIDE</span></code></dt><dd><div class="versionadded">
<p><span class="versionmodified added">Added in version 3.10.</span></p>
</div>
<p>Set this variable to <code class="docutils literal notranslate"><span class="pre">TRUE</span></code> before calling <code class="docutils literal notranslate"><span class="pre">find_package(Curses)</span></code> if
Unicode (wide character) support is required.</p>
</dd>
</dl>
</section>
<section id="deprecated-variables">
<h2>Deprecated Variables<a class="headerlink" href="#deprecated-variables" title="Link to this heading">¶</a></h2>
<p>The following legacy variables are provided for backward compatibility:</p>
<dl>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_INCLUDE_DIR</span></code></dt><dd><div class="deprecated">
<p><span class="versionmodified deprecated">Deprecated since version 3.1: </span>Use the <code class="docutils literal notranslate"><span class="pre">CURSES_INCLUDE_DIRS</span></code> variable instead.</p>
</div>
<p>Path to a Curses include directory.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">CURSES_LIBRARY</span></code></dt><dd><div class="deprecated">
<p><span class="versionmodified deprecated">Deprecated since version 2.4: </span>Use the <code class="docutils literal notranslate"><span class="pre">CURSES_LIBRARIES</span></code> variable instead.</p>
</div>
<p>Path to Curses library.</p>
</dd>
</dl>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading">¶</a></h2>
<p>Finding Curses and creating an imported interface target for linking it to a
project target:</p>
<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">find_package(</span><span class="nb">Curses</span><span class="nf">)</span>
<span class="nf">if(</span><span class="nb">Curses_FOUND</span><span class="w"> </span><span class="no">AND</span><span class="w"> </span><span class="no">NOT</span><span class="w"> </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">Curses</span><span class="o">::</span><span class="nb">Curses</span><span class="nf">)</span>
<span class="w">  </span><span class="nf">add_library(</span><span class="nb">Curses</span><span class="o">::</span><span class="nb">Curses</span><span class="w"> </span><span class="no">INTERFACE</span><span class="w"> </span><span class="no">IMPORTED</span><span class="nf">)</span>
<span class="w">  </span><span class="nf">set_target_properties(</span>
<span class="w">    </span><span class="nb">Curses</span><span class="o">::</span><span class="nb">Curses</span>
<span class="w">    </span><span class="no">PROPERTIES</span>
<span class="w">      </span><span class="no">INTERFACE_LINK_LIBRARIES</span><span class="w"> </span><span class="s">&quot;${CURSES_LIBRARIES}&quot;</span>
<span class="w">      </span><span class="no">INTERFACE_INCLUDE_DIRECTORIES</span><span class="w"> </span><span class="s">&quot;${CURSES_INCLUDE_DIRS}&quot;</span>
<span class="w">  </span><span class="nf">)</span>
<span class="nf">endif()</span>

<span class="nf">add_executable(</span><span class="nb">app</span><span class="w"> </span><span class="nb">app.c</span><span class="nf">)</span>
<span class="nf">target_link_libraries(</span><span class="nb">app</span><span class="w"> </span><span class="no">PRIVATE</span><span class="w"> </span><span class="nb">Curses</span><span class="o">::</span><span class="nb">Curses</span><span class="nf">)</span>
</pre></div>
</div>
<p>When ncurses is specifically required:</p>
<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">set(</span><span class="no">CURSES_NEED_NCURSES</span><span class="w"> </span><span class="no">TRUE</span><span class="nf">)</span>
<span class="nf">find_package(</span><span class="nb">Curses</span><span class="nf">)</span>
</pre></div>
</div>
</section>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="Main">
        <div class="sphinxsidebarwrapper">
  <div>
    <h3>Table of Contents</h3>
    <ul>
<li><a class="reference internal" href="#">FindCurses</a><ul>
<li><a class="reference internal" href="#result-variables">Result Variables</a></li>
<li><a class="reference internal" href="#hints">Hints</a></li>
<li><a class="reference internal" href="#deprecated-variables">Deprecated Variables</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
</ul>
</li>
</ul>

  </div>
  <div>
    <h4>Previous topic</h4>
    <p class="topless"><a href="FindCURL.html"
                          title="previous chapter">FindCURL</a></p>
  </div>
  <div>
    <h4>Next topic</h4>
    <p class="topless"><a href="FindCVS.html"
                          title="next chapter">FindCVS</a></p>
  </div>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/module/FindCurses.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<search id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="FindCVS.html" title="FindCVS"
             >next</a> |</li>
        <li class="right" >
          <a href="FindCURL.html" title="FindCURL"
             >previous</a> |</li>
  <li>
    <label class="sidebar-toggle" for="sidebar-check"></label>
  </li>
  <li class="rootlink">
    <img src="../_static/cmake-logo-16.png" width="16" height="16" alt=""/>
    <a href="https://cmake.org/">CMake 4.1.1</a>
    <span class="reldelim1"> &#187;</span>
  </li>
  <li>
    <a href="../index.html">Documentation</a> &#187;
  </li>

          <li class="nav-item nav-item-1"><a href="../manual/cmake-modules.7.html" >cmake-modules(7)</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">FindCurses</a></li> 
      </ul>
    </div>

    <div class="footer" role="contentinfo">
    &#169; Copyright 2000-2025 Kitware, Inc. and Contributors.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.1.3.
    </div>
<script type="text/javascript">
(function() {
  "use strict";
  const hide = () => document.getElementById("sidebar-check").checked = false;
  addEventListener("keydown", e => (e.key === "Escape") && hide());
  addEventListener("click", e => (e.target.tagName === "A") && hide());
  addEventListener("hashchange", hide)
})();
</script>
  </body>
</html>